home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs04.d81
/
dcmr.sfx
/
printer.setup
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1990-02-12
|
5KB
|
142 lines
1010 FORI=0TO71:POKE49808+I,0:NEXT:POKE49840,4
1100 OPEN15,8,15
1105 DIM C(15)
1110 POKE53280,14:POKE53281,15
1120 PRINT"[147][151] DISK CATALOG MANAGER/REPORTER[146]"
1130 PRINT SPC(13);"PRINTER SETUP"
1135 GOSUB11000:REM LOAD A FILE ?
1140 D$=CHR$(PEEK(49840)+48)
1150 PRINT "DEVICE ADDR IS ";D$;"[157][157][157]";:INPUTD
1160 IFD<0ORD>9 THEN1150
1170 POKE49840,D
1200 S$=STR$(PEEK(49841)):S$=MID$(S$,2,LEN(S$)-1)
1210 PRINT"SECONDARY ADDR IS ";S$;:FORI=0TO1+LEN(S$):PRINT"[157]";:NEXT:INPUTS
1220 IFS<0ORS>95THEN1210
1230 POKE49841,S
1300 A$="N":IFPEEK(49842)=10THENA$="Y"
1305 PRINT"SEND LINE FEED AFTER RETURN FOR"
1307 PRINT" EACH PRINT LINE (Y/N) "A$;"[157][157][157]";
1310 INPUTA$:IFA$="N"THENPOKE49842,0:GOTO1400
1320 IFA$="Y"THENPOKE49842,10:GOTO1400
1330 GOTO1300
1400 PRINT"YOU MAY NOW ESTABLISH FROM 0 TO 4"
1410 PRINT"PRINTER SETUP SEQUENCES. WHEN THE"
1420 PRINT"PRINT FUNCTION IS SELECTED, YOU WILL"
1430 PRINT"BE GIVEN THE OPPORTUNITY TO SEND THESE"
1440 PRINT"PRINTER SETUP CHARACTERS BEFORE REPORT"
1450 PRINT"PRINTING BEGINS."
1460 PRINT"A COUPLE OF IDEAS ON HOW THESE MIGHT"
1470 PRINT"BE USED:"
1480 PRINT" 1) CHANGE CHARACTER SETS"
1490 PRINT" 2) CHANGE LINE SPACING"
1500 PRINT"FOR EACH OF THE 4 SEQUENCES, UP TO 8"
1510 PRINT"CHARACTERS CAN BE DEFINED. FURTHER,"
1520 PRINT"FOR ANY ONE SEQUENCE, MULTIPLE PRINTER"
1530 PRINT"COMMANDS MAY BE ESTABLISHED BY"
1540 PRINT"ENTERING THEM CONSECUTIVELY."
1550 PRINT"PRINTER SETUP SEQUENCE TO DEFINE"
1560 PRINT" (1-4; 0 TO END) 0[157][157][157]";
1570 INPUTA:IFA=0THEN1700
1580 IFA=1THENAD=49808:GOTO1630
1590 IFA=2THENAD=49816:GOTO1630
1600 IFA=3THENAD=49824:GOTO1630
1610 IFA=4THENAD=49832:GOTO1630
1620 GOTO1550
1630 MX=7:GOSUB9000:GOSUB9100:PRINT" ";A$:PRINT"[145]";:IFLEN(A$)>39THENPRINT"[145]";
1640 L=LEN(A$):INPUTA$:IFLEN(A$)=L-2THEN1660
1650 PRINT"...TRY AGAIN":GOTO1630
1660 GOSUB9200:IFER=1THEN1650
1670 PRINT"OK":GOTO1550
1700 PRINT"[147]IF YOU DESIRE TO PRINT 6 COLUMNS PER"
1710 PRINT"PAGE, YOU WILL NEED TO ESTABLISH"
1720 PRINT"PRINTER SETUP SEQUENCES THAT WILL"
1730 PRINT"ACTIVATE AND CANCEL CONDENSED PRINT"
1740 PRINT"FORMAT (136 COLUMNS PER PRINT LINE)."
1750 PRINT"THE WAY IT WORKS IS:"
1760 PRINT" 1) BEFORE EACH HEADING LINE"
1770 PRINT" (INCLUDING THE 1ST), THE CANCEL"
1780 PRINT" CONDENSED SETUP SEQUENCE WILL BE"
1790 PRINT" SENT."
1800 PRINT" 2) AFTER EACH HEADING LINE, THE"
1810 PRINT" ACTIVATE CONDENSED SETUP "
1820 PRINT" SEQUENCE WILL BE SENT."
1830 PRINT" ...ANY KEY TO CONTINUE...";
1840 A$="":GETA$:IFA$=""THEN1840
1850 PRINT"[145][145][145][145][145]"
1900 MX=15:AD=49848:GOSUB9000:GOSUB9100
1910 PRINT"ENTER ACTIVATE CONDENSED SETUP SEQUENCE":PRINT" ";A$:PRINT"[145]";
1920 IFLEN(A$)>39THENPRINT"[145]";
1930 L=LEN(A$):INPUTA$:IFLEN(A$)=L-2THEN1950
1940 PRINT"...TRY AGAIN":GOTO1900
1950 GOSUB9200:IFER=1THEN1940
1960 PRINT"OK"
2000 MX=15:AD=49864:GOSUB9000:GOSUB9100
2010 PRINT"ENTER CANCEL CONDENSED SETUP SEQUENCE":PRINT" ";A$:PRINT"[145]";
2020 IF LEN(A$)>39THENPRINT"[145]";
2030 L=LEN(A$):INPUTA$:IFLEN(A$)=L-2THEN2050
2040 PRINT"...TRY AGAIN":GOTO2000
2050 GOSUB9200:IFER=1THEN2040
2060 PRINT"OK"
2100 PRINT"AS PART OF THIS SAVE OPERATION,"
2110 PRINT"IF FILE 'PRINT.CONFIG.OLD' EXISTS,"
2120 PRINT"IT WILL BE SCRATCHED."
2130 PRINT"THE CURRENT 'PRINTER.CONFIG' WILL BE"
2140 PRINT"RENAMED TO 'PRINT.CONFIG.OLD', AND THEN"
2150 PRINT"THE NEW PRINTER SETUP PARAMETERS"
2160 PRINT"WILL BE SAVED AS 'PRINTER.CONFIG'."
2170 PRINT"DO YOU WISH TO SAVE THIS CONFIGURATION"
2180 PRINT "AS 'PRINTER.CONFIG' (Y/N) Y[157][157][157]";:INPUTA$
2190 IFA$="N"THEN2300
2200 IFA$<>"Y"THEN2170
2210 CLOSE15:OPEN15,8,15,"S0:PRINT.CONFIG.OLD":CLOSE15
2220 OPEN15,8,15,"R0:PRINT.CONFIG.OLD=PRINTER.CONFIG":CLOSE15:OPEN15,8,15,"I"
2230 N$="PRINTER.CONFIG":GOTO2500
2300 PRINT"DO YOU WISH TO SAVE AS AN ALTERNATE"
2310 PRINT"PRINTER CONFIGURATION (CFG.) FILE"
2320 PRINT"(Y/N) N[157][157][157]";:INPUTA$
2330 IFA$="N"THENPRINT"...ABORTED":CLOSE15:END
2340 IFA$<>"Y"THEN2300
2350 PRINT"ENTER CONFIGURATION NAME TO SAVE"
2360 INPUT" CFG.[157][157][157][157][157][157]";N$
2370 GOTO2500
2500 PRINT#15,"S0:";N$
2505 OPEN8,8,8,N$+",P,W"
2510 PRINT#8,CHR$(144);CHR$(194);
2520 FORI=0TO71:PRINT#8,CHR$(PEEK(49808+I));:NEXT
2530 CLOSE8:CLOSE15:PRINT"FINISHED SAVING":END
9000 A$=CHR$(34):FORI=0TOMX:C(I)=PEEK(AD+I):A1$=STR$(C(I)):A1=LEN(A1$)
9010 A$=A$+RIGHT$("00"+MID$(A1$,2,A1-1),3):IFI<MXTHENA$=A$+","
9020 NEXT:A$=A$+CHR$(34):RETURN
9100 PRINT"OVERTYPE THE FOLLOWING CHR$(NNN) CODES"
9110 PRINT"WITH THE DECIMAL EQUIVALENT OF THE"
9120 PRINT"CHARACTERS BEING SENT TO THE PRINTER."
9130 PRINT"SET RIGHT MOST UNUSED CHARACTER VALUES"
9140 PRINT"TO 000.":RETURN
9200 ER=0:A2=1:FORI=0TOMX:C(I)=VAL(MID$(A$,A2,3)):A2=A2+4
9210 IFC(I)<0ORC(I)>255THENER=1
9220 NEXT:IFER=1THENRETURN
9230 A2=0:FORI=MXTO0STEP-1:IFA2=1ANDC(I)=0THENER=1
9240 IFC(I)<>0THENA2=1
9250 NEXT:IFER=1THENRETURN
9260 FORI=0TOMX:POKE AD+I,C(I):NEXT:RETURN
10000 INPUT#15,EN,EM$,ET,ES
10010 IFEN=0THENRETURN
10020 PRINT"ERROR # ";EN,EM$,ET;ES
10030 PRINT#15,"I":RETURN
11000 PRINT"DO YOU WISH TO LOAD THE CURRENT"
11010 PRINT" 'PRINTER.CONFIG' FILE (Y/N) N[157][157][157]";:INPUTA$:IFA$="N"THEN11100
11020 IFA$<>"Y"THEN11000
11030 N$="PRINTER.CONFIG":GOSUB11500:RETURN
11100 PRINT"DO YOU WISH TO LOAD AN ALTERNATE"
11110 PRINT" PRINTER CONFIGURATION (CFG.) FILE"
11120 PRINT" (Y/N) N[157][157][157]";:INPUTA$
11130 IFA$="N"THENRETURN
11140 IFA$<>"Y"THEN11100
11150 PRINT"ENTER CONFIGURATION NAME TO LOAD":PRINT" CFG.[157][157][157][157][157][157]";:INPUTN$
11160 GOSUB11500:RETURN
11500 OPEN8,8,8,N$+",P,R":GOSUB10000:IFEN<>0THENCLOSE8:RETURN
11510 GET#8,A$:GET#8,A1$:IFA$=CHR$(144)ANDA1$=CHR$(194)THEN11530
11520 PRINT"FILE ";N$;" IS INVALID":CLOSE8:RETURN
11530 FORI=0TO71:GET#8,A$:A=0:IFA$<>""THENA=ASC(A$)
11540 POKE49808+I,A:NEXT:CLOSE8:RETURN